﻿using Entities;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Registro_BusquedaLigaUC : System.Web.UI.UserControl
{

    public string Seleccionado
    {
        get
        {
            if (Session["Seleccionado"] == null)
                Session["Seleccionado"] = 0;
            return Session["Seleccionado"].ToString(); 
        }
        set { Session["Seleccionado"] = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            AsignaDT(txtNombreLiga.Text);
    }

    private void AsignaDT(string cadena)
    {
        GFLEntities2 db = new GFLEntities2();
        DataTable dt = new DataTable();

        var query = from ligas in db.Ligas.AsEnumerable()
                    join carac in db.CaracteristicasLiga.AsEnumerable() on ligas.IdCaracteristicasLiga equals carac.IdCaracteristicasLiga
                    where ligas.NombreLiga.Contains(cadena)
                    select new LigaCarac
                    {
                        IdCaracteristicasLiga = carac.IdCaracteristicasLiga,
                        MillonesJugadores = carac.MillonesJugadores,
                        MaximoUsuarios = carac.MaximoUsuarios,
                        IdLiga = ligas.IdLiga,
                        NombreLiga = ligas.NombreLiga,
                        Privacidad = ligas.Privacidad
                    };
        dt = Utilidades.CopyGenericToDataTable<LigaCarac>(query);
        gvLigas.DataSource = dt;
        gvLigas.DataBind();
    }

    protected void btnBuscar_OnClick(object sender, EventArgs e)
    {
        AsignaDT(txtNombreLiga.Text);
    }

    protected void chbSel_CheckedChanged(object sender, EventArgs e)
    {

        lblError.Visible = false;

        //DESELECCIONAMOS EL ANTIGUO
        if (Seleccionado != "0")
        {
            foreach (GridViewRow gr in gvLigas.Rows)
            {
                if (gr.Cells[1].Text == Seleccionado.ToString())
                {
                    CheckBox ch = null;
                    ch = (CheckBox)gr.Cells[0].FindControl("chbSel");
                    ch.Checked = false;
                }

            }
        }

        //SELECCIONAMOS EL NUEVO
        if (((CheckBox)sender).Checked != false)
            Seleccionado = ((CheckBox)sender).Attributes["IdSuby"].ToString();
        else
            //No hay ninguno seleccionado
            Seleccionado = "0";

    }
    protected void btnUnirseLiga_Click(object sender, EventArgs e)
    {
        if (Seleccionado == "0")
            lblError.Visible = true;
        else
        {
            GFLEntities2 modelo = new GFLEntities2();
            RelacionLigaUsuario relNueva = new RelacionLigaUsuario();
            relNueva.IdLiga = int.Parse(Seleccionado);
            relNueva.IdUsuario = ((Usuarios)Application["UsuarioCreado"]).IdUsuario;

            modelo.RelacionLigaUsuario.Add(relNueva);
            modelo.SaveChanges();

        }
    }
}